//#include "vld.h"

#include <iostream>

//#include "boost/date_time.hpp"
//#include "boost/filesystem.hpp"
//#include "boost/shared_ptr.hpp"

#include "Application.h"
#include "CommandArgs.h"

using namespace std;

int main(int argc, char* argv[])
{
    //// Boost.Filesystem example.
    //std::cout << "Is data a directory? " << boost::filesystem::is_directory("data") << std::endl;

    //// Boost.Smart_Ptr example.
    //boost::shared_ptr<int> int_ptr(new int(3));
    //std::cout << "int_ptr = " << *int_ptr << std::endl;
    //int_ptr.reset();
    //std::cout << "int_ptr = " << int_ptr.get() << std::endl;

    //// Boost.Date_Time example.
    //boost::gregorian::date d(2010, 1, 30);
    //std::cout << d << std::endl;

    try
    {
        Application app;
        app.initialise(CommandArgs(argc, argv));
        app.run();
    }
    catch(std::exception& e)
    {
        std::cout << "Caught an exception: " << e.what() << std::endl;
        std::cin.get();
    }

	return 0;
}